<!--  -->
<template>
  <div class="">
    <top-header></top-header>
    <el-table :data="userList" style="width: 100%">
      <el-table-column type="index" label="#" align="center"> </el-table-column>
      <el-table-column
        prop="registe_time"
        label="注册时间"
        align="center"
        width="180"
      >
      </el-table-column>
      <el-table-column
        prop="username"
        label="用户姓名"
        align="center"
        width="180"
      >
      </el-table-column>
      <el-table-column prop="city" label="注册地址" align="center">
      </el-table-column>
    </el-table>
    <!-- a.1 定义分页的总数 total -->
    <el-pagination
      @current-change="handleCurrentChange"
      :page-size="limit" 
      layout="total, prev, pager, next"
      :total="total"
    >
    </el-pagination>
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';
import TopHeader from "./TopHeader.vue";
import { getUserList,getTotalUser} from "../data/api";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {
    "top-header": TopHeader,
  },
  data() {
    //这里存放数据
    return {
      limit: 3,
      pageSize: 1,
      userList: [], //用户数据
      /* a.2 定义data中 total */
      total:0, // 用户列表的总数
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    /* 
      当前页码发生变化的时候
    */
    handleCurrentChange:function(page){
      console.log("当前页码",page);
      // page => pageSize
      // b.1 当前页码发生变化
      this.pageSize = page;
      // b.2 重新调用获取用户的列表的函数
      this.getUserList();

    },
    // 获取用户的列表
    getUserList: async function () {
      let result = await getUserList({
        limit: this.limit,
        offset: (this.pageSize - 1) * this.limit, // (1-1)*3...(3-1)*3
      });
      this.userList = result;
    },
    // 获取用户的总数
    /* a.3 定义获取用户总数的方法 */
    getTotalUserCount: async function(){
      let result = await getTotalUser();
      // 用户总数
      let total = result.count;
      this.total = total;
    }
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {
    this.getUserList();
    /* a.4 调用获取总数的方法 */
    this.getTotalUserCount();
  },
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>
<style lang='less' scoped>
</style>